package Y1概述;
//并发和并行
/*
并发：指的是两个或多个事件在同一时间段内发生------->一个人吃两个馒头，轮流换着吃
并行：指的是两个或多个事件在同一时刻发生（同时发生）----->两个人吃两个馒头，不需要换，
 */
//进程和线程
/*
进程：是指一个内存中运行的应用程序，每个进程都有一个独立的内存空间，一个应用程序可以同时运行多个进程；
     进程也是程序的一次执行过程，是系统运行程序的基本单位；
     系统运行一个程序既是一个进程从创建、运行到消亡的过程
线程：线程是进程中的一个执行单元，负责当前进程中程序的执行，一个进程至少有一个线程。
     一个进程是可以有多个线程的，这个应用程序也可以称为多线程程序。
总结：一个程序运行后至少有一个进程，一个进程可以包含多个线程
 */
//线程调度
/*
分时调度：所有线程轮流使用cpu的使用权，平均分配每个线程占用cpu时间
抢占式调度：优先让优先级高的线程使用cpu，如果线程优先级相同，那么会随机选择一个（线程随机性），java使用的为抢占式调度
 */
public class Test {
    /*
    主线程：执行主（main）方法的线程

    单线程程序：java程序中只有一个线程
    执行main方法开始，从上到下，依次执行
     */
    public static void main(String[] args) {
        Person person1 = new Person("张三");
        person1.run();
        System.out.println(0/0);//Exception in thread "main":异常抛出便不能继续往下执行（主线程）
        Person person2 = new Person("李四");
        person2.run();
    }

}
